Traffic throughput is an important performance measure is communication networks. Throughput bottlenecks may occur within network elements, e.g., switches or routers, end nodes, or both.
Methods for managing network throughput are known in the art. For example, U.S. Pat. No. 9,313,047 describes handling network data packets classified as being high throughput and low latency with a network traffic management device. Packets are received from a network and classified as high throughput or low latency based on packet characteristics or other factors. Low latency classified packets are generally processed immediately, such as upon receipt, while the low latency packet processing is strategically interrupted to enable processing coalesced high throughput classified packets in an optimized manner.
I/O devices, such as network interface controllers (NICs), usually use physical memory addresses in order to access host memory, but some virtual memory addressing techniques for I/O have been described in the patent literature. For example, U.S. Patent Application Publication 2010/0274876, whose disclosure is incorporated herein by reference, describes an I/O device, which is configured to receive, over a network, data packets associated with I/O operations directed to specified virtual addresses in the memory. Packet processing hardware in the I/O device is configured to translate the virtual addresses into physical addresses and to perform the I/O operations using the physical addresses.
InfiniBand™ (IB) is a switched-fabric communications link primarily used in high-performance computing. It has been standardized by the InfiniBand Trade Association. Computing devices (host processors and peripherals) connect to the IB fabric via a network interface controller, which is referred to in IB parlance as a channel adapter. Host processors (or hosts) use a host channel adapter (HCA), while peripheral devices use a target channel adapter (TCA). IB channel adapters implement various service types and transport protocols, including Remote Direct Memory Access (RDMA) read and write operations. Details of a hardware-based implementation of IB RDMA are provided, for example, in U.S. Patent Application Publication 2002/0152327, whose disclosure is incorporated herein by reference.
RDMA over Converged Ethernet (RoCE) is a network protocol that supports RDMA over an Ethernet network. RoCE is specified, for example, in “Supplement to InfiniBand™ Architecture Specification, Volume 1, Release 1.2.1, Annex A16: RDMA over Converged Ethernet (RoCE),” InfiniBand Trade Association, Apr. 6, 2010, which is incorporated herein by reference. A version of the RoCE protocol that is suitable for IP-based networks is referred to as RoCEv2. The RoCEv2 version is specified, for example, in “Supplement to InfiniBand™ Architecture Specification, Volume 1, Release 1.2.1, Annex A17: RoCEv2,” InfiniBand Trade Association, Sep. 2, 2014, which is incorporated herein by reference.